1. Field of the Invention
The present invention relates to the translation of human visual inspection analysis of an object into physical quantifiable parameters used in an inspection device via a graphical user interface. The present invention further relates to displaying a multidimensional depiction of a manufactured item or classifiable item and then morphing the three dimensional depiction to establish maximum and minimum ranges for various dimensions and aspects of the manufactured item. More particularly, the present invention relates to a method and apparatus for viewing a three dimensional depiction of a solder joint then morphing the depiction of the solder joint to establish maximum and minimum acceptable limits for such solder joint being viewed and tested in a classification/manufacturing test apparatus.
2. Description of Related Art
One goal of inspection processes is to classify a device which is under inspection into one of two (or many) categories based on some criteria (i.e. weight: 3 lbs. or greater is a pass; less than 3 lbs. fails). There are many different types of inspection processes. One type might use a human inspector. Human inspectors are common in visual inspections. Another type of inspection might use a tool, machine or device such as a caliper to measure, for example, an inside diameter of a pipe.
Consider for a moment the contrast between human inspection and tool inspection systems. In a human inspection system the human utilizes human visual and judgment systems. The parameters used to describe or measure an item or object under inspection may include traits such as xe2x80x9csmoothxe2x80x9d, xe2x80x9cshinyxe2x80x9d, xe2x80x9ccrookedxe2x80x9d, etc. The traits are fuzzy (not precisely quantified as are physical quantifiable parameters) and are usually distillations (condensations) of a complex (large number of and/or interdependent) set of physical, quantifiable parameters. For example, a trait of a textured surface may be xe2x80x9csmoothnessxe2x80x9d. The surface texture, under very close inspection, has thousands of tiny pits, each having five dimensions (three volumetric dimensions, and two positional dimensions). Regardless of the potentially thousands of physical quantifiable parameters required to define smoothness, human visual inspection can quantify the fuzzy trait of smoothness relatively easily. The measures of human visual inspection tend to be inexact (e.g. somewhat, very, or extremelyxe2x80x94smooth).
Conversely, a tool measurement system uses substantially only physical quantifiable parameters which are often standardized measures (and in many instances defined by the National Institute of Standards and Technology). Examples of physical quantifiable parameters are length, weight, temperature, frequency, density, etc. The measures of physically quantifiable parameters are generally numeric values (15, 12.5, 0.0026).
Automated inspection systems have become an important part of many production and item inspection facilities. Quality control and the ability to know when a production line is producing good, marginal or poorly manufactured products with respect to predetermined specifications is paramount in today""s industrialized/information based society.
An automated test system may test and inspect manufactured objects, such as solder joints, using cross-sectional x-ray imaging or laminography. Such a system may detect defects in solder joints on printed circuit board assemblies (PCBA""s) that are single sided or doubled sided. Two-dimensional x-ray views are taken of the board. The testing and inspection is non-destructive because physical contact with the object of inspection is not required.
Drawbacks of automated test equipment tend to be related to the set-up and the programming of the equipment. For example, a set-up and programming processes for a test/inspection machine may be as follows: First the limits must be set. As such, a programmer obtains a xe2x80x9cgoodxe2x80x9d reference xe2x80x9citemxe2x80x9d (e.g. PCBA) to be tested. Then the programmer utilizes a test/inspection device and obtains the device""s reported parameters. The parameters are usually reported as numerals which represent different parameters of an xe2x80x9cobjectxe2x80x9d. The programmer then estimates how much the numerical parameters can vary on the object and be within tolerance. Numerical parameter estimation is a determination of physical dimension tolerance limits which are utilized by an inspection machine. The programmer is effectively setting appropriate tolerance limits for the physical dimensions of the object. Commonly, two numbers are estimated and manually input for each parameter by the programmer. The two numbers may be for an upper and lower limit. When an object, such as a solder joint, has many parameters and physical dimensions (e.g. more than 50) and when there are multiple objects (types and subtypes) on an item for inspection (e.g. PCBA), then a programmer may have to make hundreds of estimations in order to set-up and program a test/inspection machine. The programmer must manually enter the estimations into the test/inspection database for the item.
In order to verify the limits estimated and entered by the programmer, the programmer may run a series of items through the test/inspection device. The test/inspection device will measure and extract parameters of objects on the item and compare the extracted measurements against the estimated limits entered by the programmer. Any extracted measurment that is outside the estimated limits will be indicated as xe2x80x9cfailedxe2x80x9d. Any extracted measurement that is inside the estimated limits is indicated as xe2x80x9cpassedxe2x80x9d. The programmer will then visually inspect the objects (solder joints) to determine if the entered estimates are classifying the objects correctly. In many instances the estimates do not correctly classify the objects.
The programmer must adjust the appropriate limits if entered estimates do not classify the object correctly. To do so, the programmer looks at the object""s shape to determine what parameter(s) of the object is causing the object to be classified incorrectly. Then the programmer must determine (usually guess based on experience) which estimated limit should be adjusted. Sometimes this is a fairly straight forward process when there is a one-to-one relationship between the parameter and the estimated limit (e.g. width of an object and the number describing the width of the object). Other times, this process of xe2x80x9cguessingxe2x80x9d is not straight forward when multiple parameters interact (e.g. slope, position, and height of an edge). The programmer now must re-estimate how much to change the value of the estimated limit(s).
This process of setting-up and programming a test/inspection machine has various problems. Such problems include that it is tedious and slow. There are a lot of entries to understand and make. This process is highly subjected to human error, human repeatability errors, and human fatigue errors. This process further has the drawback of requiring the programmer to have a cognitive ability to relate physical parameters (e.g. related to shape) to numerical parameters. This is very difficult when a human must visualize 10 or more parameters simultaneously.
Another drawback is that the programmer must translate the visual form (or deformity) to a parameteric value. Furthermore, due to the programming process being tedious and difficult, many programmers xe2x80x9cgive upxe2x80x9d before the system is well programmed or tuned. Also, even if a system is well tuned, operators may believe that the limits are not set correctly and therefore allow out of spec parts to xe2x80x9cpassxe2x80x9d inspection.
With laminography a two-dimensional view of, for example, a solder joint can be taken. The two-dimensional data can be turned into a plurality of data files and then manipulated manually, by a system programmer, to set maximum and minimum dimensions or tolerances for the inspection/test device to utilize.
The system programmer takes the standard or ideal dimensions for a manufactured item, such as a solder joint, and by hand manually enters numbers or data to set the maximum, minimum, threshold, dimension, and or tolerance information into a data base. The data base is then used by an inspection machine to inspect objects, such as solder joints to determine whether they are within or outside of the programmer defined estimated limits.
For any object, such as a solder joint, ball bearing, plastic part, glass part, mechanical part, rock, piece of fruit or wood etc., there are a plurality (from 1 to more than 100 in some cases) dimensions and tolerances that must be measured by automated test and inspection equipment.
In another exemplary example of setting up a testing/inspection device for a printed circuit board, a programmer using prior art techniques, may be attempting to program an application which inspects a number of solder joints on a given circuit board. There may be a variety of different types of solder joints on the board (gullwing, ball joint, resistor lead, etc.). The gross structural requirements of two gullwing solder joints may be different due to lead size, current, load, heat capacity, etc. Thus, there are xe2x80x9csubtypesxe2x80x9d of each solder joint type. A programmer may have to manually set up data for many different types of solder joints. Again, this is a long, tedious and prone to error programming process. Once the data (specifications, tolerance, thresholds, dimensions, estimated limits, etc.) are all stored in data files and possibly output through a reporting data file, the programmer may have to go back into the data to change or alter the data by hand and then rerun tests of the data being utilized by the inspection/test machine to determine how close all the data is to an acceptable xe2x80x9cphysicalxe2x80x9d inspection or test of the solder joints on a printed circuit board.
The data is manually adjusted by entering numeric data. Actual PCBA""s are run through the inspection/test machine to determine if the minimum/maximum threshold and/or tolerance data is in actuality acceptable. Then, the setup process is repeated until the data is acceptable. This process is timely, somewhat trial and error based, and manually intensive to perform.
What is needed is a more automated and less manualy intensive technique for conveying data information for all the different dimensions, tolerances, thresholds and specification data related to a manufactured object into an inspection system such that the operator of the system can perform the task in less time and with a higher resulting accuracy.
The embodiment of the present invention overcomes drawbacks of prior art systems by utilizing a graphical user interface to combine a human inspection system and analysis with the quantitative repeatability of an automatic inspection system which utilizes physical quantitative parameters associated with an object under inspection.
The present exemplary embodiments of the present method and apparatus for extracting measurement information and setting specifications using multidimensional visualization overcomes the drawbacks of prior systems and methods by providing a multidimensional depiction of an object to be inspected on a display screen. The multidimensional dimensional depiction on the display screen can be visually morphed to depict maximum and minimum tolerances. The user can select and set maximum and minimum tolerances, settings, thresholds, dimensions, etc. on the multidimensional image. Preferably, the image is depicted in three or more dimensions. The selected maximum and minimum settings can then be extracted from the image by the system and stored in data files to be utilized by the automated inspection system.